package cn.aixuegao.service.admin;

import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;
import java.nio.file.Path;
import java.util.stream.Stream;

/**
 * 
 * @author hxy
 *
 */
public interface StorageService {
	/**
	 * 储存的初始化方法
	 */
	void init();

	/**
	 * 保存文件
	 * @param file
	 * @return
	 */
    String store(MultipartFile file);

    /**
     * 加载文件
     * @return
     */
    Stream<Path> loadAll();

    /**
     * 加载单个文件
     * @param filename
     * @return
     */
    Path load(String filename);

    /**
     * 家在某个文件夹下的所有资源
     * @param filename
     * @return
     */
    Resource loadAsResource(String filename);

    /**
     * 删除所有
     */
    void deleteAll();
}
